<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<%@ include file="../../common/jsp/sheetHeader.jsp" %>

<link rel="Stylesheet" type="text/css" href="/Mass_template/common/wColorPicker/src/wColorPicker.css" />
<script type="text/javascript" src="/Mass_template/common/wColorPicker/lib/rgbHex.min.js"></script>
<script>
	$(document).ready(function() {
		//sheet 초기화  
		createIBSheet2(document.getElementById("viewArea"),"mySheet","100%","400px");
		
		mySheet.SetConfig({SearchMode:smLazyLoad,Page:30,MergeSheet:msHeaderOnly,SumPosition:0,ChildPage:5});
		var headers = [
			{Text:"No|분류|건수|2005/05/14~2005/05/14|2005/05/14~2005/05/14|2005/05/14~2005/05/14", Align:"Center"},
			{Text:"No|분류|건수|전체합계|전체합계|전체합계", Align:"Center"},
			{Text:"No|분류|건수|신규|해지|유지", Align:"Center"}
		];
		var cols = [
			{Type:"Seq",Width:50,Align:"Center"},
			{Type:"Text",Width:272,TreeCol:1},
			{Type:"Integer",Width:100,Align:"Right"},
			{Type:"AutoSum",Width: 141,Format:"#,##0"},
			{Type:"AutoSum",Width: 141,Format:"#,##0"},
			{Type:"AutoSum",Width: 141,Format:"#,##0"}
		];
		
		mySheet.InitHeaders(headers);
		mySheet.InitColumns(cols);
		
		mySheet.FitColWidth();	//컬럼의 너비 조정
		
		//합계행에 글자 정의
		mySheet.SetSumText(1,"합 계");
		
		//소계 정의 (조회 전에 미리 정해져야 함)
		var info  = {CountCols:"2",SumCols:"3|4|5"};
		mySheet.ShowTreeSubSum(info);
		
		doAction("search");
	});

	/*Sheet 각종 처리*/
	function doAction(sAction) {
		switch (sAction) {
		case "search": //조회
			mySheet.DoSearch("../data/tree_subsum_data.xml");
			break;
		}
	}
	
	function mySheet_OnSearchEnd(code,msg){
		mySheet.FitColWidth();
		try {
			var hr = mySheet.HeaderRows()+1;
			var lr = mySheet.LastRow()+1;
			
			for (var i=hr ; i<lr ; i++) {
				var lvl = mySheet.GetRowLevel(i);
				switch(lvl){
					case 0:
						mySheet.SetRowBackColor(i,"#CFDADA");
					break;
					case 1:
						mySheet.SetRowBackColor(i,"#D9E4E4");
					break;
					case 2:
						mySheet.SetRowBackColor(i,"#E3EEEE");
					break;
				}	
			}
		} catch(e) {
			alert(e.message);
		}
	}
	
	function mySheet_OnResize() {
		mySheet.FitColWidth();
	}
	
</script>
<title>트리 예제</title>
</head>
<body>
<div id="main">
	<%@ include file="../../common/jsp/sheetNavi.jsp" %>	
	<div id="title">트리를 이용한 소계 예제</div>
	<div id="desc">
		ShowTreeSubSum 메서드는 트리구조에서 특정 컬럼의 데이터를 기준으로 소계를 계산하여 표시한다.<br>
		이 함수는 데이터를 조회하는 메소드를 호출하기 이전에 호출하여야 하며, 설정을 변경한 경우 다시 데이터를 조회하여야 적용된다.<br>
		<br>
		SumCols는 소계가 계산 되어야 할 컬럼의 Index 또는 SaveName을 "|"로 연결한 문자열로 설정한다.<br>
		AvgCols 인자는 평균으로 계산 되어야 할 컬럼의 Index 또는 SaveName을 "|"로 연결한 문자열로 설정한다.<br>
		CountCols 인자는 개수로 계산 되어야 할 컬럼의 Index 또는 SaveName을 "|"로 연결한 문자열로 설정한다.<br>
		인자값은 JSON 형태의 포맷으로 설정 한다.
	</div>
	<div id="functionArea">
		<div>
		//합계행에 글자 정의<br>
		mySheet.SetSumText(1, "합 계");<br>
		<br>
		//소계 정의 (조회 전에 미리 정해져야 함)<br>
		var info  = {CountCols:"2",SumCols:"3|4|5"};<br>
		mySheet.ShowTreeSubSum(info);
		</div>
	</div>
	<div id="viewArea">
	</div>
</div>
</body>
</html>